#ifndef CONNECTION_H
#define CONNECTION_H

#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QSettings>
#include <QDebug>

QString driver;
QString hostName;
QString username;
QString password;
QString dbname;

static void getdbconfig();

static bool createConnection()
{
    //读取数据库配置文件
    getdbconfig();

    //加载mysql驱动
    QSqlDatabase db = QSqlDatabase::addDatabase(driver);
    //设置数据库连接属性
    db.setHostName(hostName);
    db.setUserName(username);
    db.setPassword(password);
    db.setDatabaseName(dbname);

    //打开数据库连接
    if (!db.open()) {
        QMessageBox::critical(0,QString("打开数据库失败"),"打开数据库连接失败!",QMessageBox::Ok);
        return false;
    }
    return true;
}

//读取数据库配置文件
static void getdbconfig()
{
    //创建配置文件操作对象
    QSettings config(QString(":/config/dbconfig.ini"), QSettings::IniFormat);

    //读取数据库配置信息
    driver = config.value(QString("database/driver")).toString();
    hostName = config.value(QString("database/hostName")).toString();
    username = config.value(QString("database/username")).toString();
    password = config.value(QString("database/password")).toString();
    dbname = config.value(QString("database/dbname")).toString();
    //return true;
}

#endif // CONNECTION_H
